<?php
/**
 * 角色操作基础类
 * User: Administrator
 * Date: 2018\8\31 0031
 * Time: 11:46
 */

namespace app\Lib\InterfaceIn\Role\RoleManage;


use app\Lib\InterfaceIn\Role\RoleHandle;
use app\Lib\InterfaceIn\User\UserHandle;

interface RoleOperatingBaseHandle
{
    /**
     * 获取上级的角色类
     * @param RoleHandle $parentObj
     * @return $this
     */
    public function  setParentObj(RoleHandle $parentObj);

    /**
     * 设置状态
     * @param $status
     * @return $this
     */
    public function  setStatus($status);

    /**
     * 设置排序
     * @param $listOrder
     * @return $this
     */
    public function  setListOrder($listOrder);

    /**
     * 设置角色名称
     * @param $name
     * @return $this
     */
    public function  setName($name);

    /**
     * 设置备注信息
     * @param $remark
     * @return $this
     */
    public function  setRemark($remark);

    /**
     * 设置操作人
     * @param UserHandle $user
     * @return $this
     */
    public function  setOpUser(UserHandle $user);

    /**
     * 角色别名
     * @param $roleAlias
     * @return $this
     */
    public function setRoleAlias($roleAlias);

    /**
     * 设置角色权限
     * @param array $menu
     * @return mixed
     */
    public function setAuth($menu );

    /**
     * 设置后台是否可以登陆
     * @param $adminRole
     * @return mixed
     */
    public function setIs_admin_role($adminRole);
}